﻿using System;
using System.Collections.Generic;
using AgileBoard.Domain;

namespace AgileBoard.Demo
{
    public class FakeStatusData
    {
        public static List<Status> CreateTestStatuss()
        {
            var statuss = new List<Status>
                              {
                                  ToDoStatus(),
                                  InProgressStatus(),
                                  OnTestStatus(),
                                  DoneStatus()
                              };

            for (int i = 0; i < 10; i++)
            {
                var sampleStatus = new Status
                                       {
                                           StatusID = Guid.NewGuid(),
                                           Name = "New Status",
                                           CreateTime = DateTime.Now
                                       };

                sampleStatus.AddTask(FakeTaskData.CreateTestTasks()[i]);

                //statuss.Add(sampleStatus);
            }

            return statuss;
        }

        public static Status ToDoStatus()
        {
            var todo = new Status
                           {
                               StatusID = new Guid("29DC7A46-52B5-4941-AAE2-F48592847E42"),
                               Name = "NotDone",
                               CreateTime = DateTime.Now
                           };

            //todo.AddTask(FakeTaskData.ToDoTask7());
            //todo.AddTask(FakeTaskData.ToDoTask8());
            //todo.AddTask(FakeTaskData.ToDoTask9());
            //todo.AddTask(FakeTaskData.ToDoTask10());
            //todo.AddTask(FakeTaskData.ToDoTask11());
            //todo.AddTask(FakeTaskData.ToDoTask12());

            return todo;
        }

        public static Status InProgressStatus()
        {
            var InProgress = new Status
                                 {
                                     StatusID = new Guid("BE4B0656-8685-439e-B4EA-66D5C9BA7508"),
                                     Name = "InProgress",
                                     CreateTime = DateTime.Now
                                 };

            //InProgress.AddTask(FakeTaskData.ToDoTask6());
            //InProgress.AddTask(FakeTaskData.ToDoTask3());
            //InProgress.AddTask(FakeTaskData.ToDoTask5());
            //InProgress.AddTask(FakeTaskData.ToDoTask1());

            return InProgress;
        }

        public static Status OnTestStatus()
        {
            var OnTest = new Status
                             {
                                 StatusID = new Guid("860746BC-810F-43bb-A5C5-87B12A6FC6DC"),
                                 Name = "On Test",
                                 CreateTime = DateTime.Now
                             };

            //OnTest.AddTask(FakeTaskData.ToDoTask4());

            return OnTest;
        }

        public static Status DoneStatus()
        {
            var Done = new Status
                           {
                               StatusID = new Guid("126D4D30-3AD9-48ef-A62D-E7710584E10B"),
                               Name = "Done",
                               CreateTime = DateTime.Now
                           };

            //Done.AddTask(FakeTaskData.ToDoTask2());

            return Done;
        }
    }
}